package com.company.hrmadmin.modules.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 员工用户表
 * @TableName tb_user
 */
@TableName(value ="tb_user")
@Data
public class User implements Serializable {
    /**
     * 员工ID标识
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 所属部门ID
     */
    private Integer departmentId;

    /**
     * 所属公司ID
     */
    private Integer companyId;

    /**
     * 员工姓名
     */
    private String name;

    /**
     * 员工手机号
     */
    private String phone;

    /**
     * 员工邮箱
     */
    private String email;

    /**
     * 员工身份证号码，填写完自动生成籍贯
     */
    private String idNumber;

    /**
     * 岗位名称
     */
    private String postName;

    /**
     * 员工工号;十一位数字，用于标识在企业内的唯一用户
     */
    private String workId;

    /**
     * 头像路径;头像路径，用于登录之后的显示
     */
    private String avatarUrl;

    /**
     * 工作城市，从dic表中查询
     */
    private String workCity;

    /**
     * 居住地，从dic表中查询，再由用户自己补充
     */
    private String address;

    /**
     * 教育背景，存储对应的学校名称
     */
    private String college;

    /**
     * 聘用形式;聘用形式，1表示正式员工，2表示实习员工，3表示试用期员工
     */
    private Integer employForm;

    /**
     * 启用状态;启用状态，0表示禁用，1表示启用
     */
    private Integer enableStatus;

    /**
     * 入职时间
     */
    private Date hireTime;

    /**
     * 离职时间;存在离职时间的时候，且离职时间在当前时间之前，表示已经离职，需要将员工的状态设置为不可用
     */
    private Date quitTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
